The international standard IEC 81346-1 “Industrial systems, installations and equipment and industrial products—Structuring principles and reference designations” provides a basis for establishing models of industrial plants, machines, buildings etc., by specifying principles for structuring of objects including associated information. As used in the international standard IEC 81346-1 the term “object” means an entity treated in a process of development, implementation, usage and disposal, and may refer to a physical or non-physical “thing”, i.e. anything that might exist, does exists, or did exist. Moreover, an “object” has information associated to it.
Most objects correspond to a physically existing and thus tangible object (e.g. a motor, a pump, a valve, a sensor, a building, etc.). However, there are objects that do not have a physical correspondence but exist for different purposes, for example an object may exist only by means of the existence of its sub-objects. That is, the object may be defined for structuring purposes (e.g. a system); or an object may exist for enabling identification of a set of information.
IEC 81346-1 does not distinguish between objects that have a physical existence and those that do not. Both kinds of objects are relevant for being identified and handled in the life-cycle of a system.
When describing the interior of an object and its interrelations to other objects, it may be useful to regard the object from different views. In IEC 81346-1, these different views of an object are called “aspects”. The aspects dealt with in IEC 81346-1 are focused on: 1) what an object is intended to do or what it actually does—the function aspect; 2) by which means an object does what it is intended to do—the product aspect; and 3) intended or actual space of the object—the location aspect. In addition other aspects may be applied.
An “object type” according to IEC 81346-1 is a class of objects having the same set of characteristics. Depending on the number of common characteristics, object types may be very generic or very specific. In general terms, an individual is a specimen of a type.
IEC 81346-1 also defines structuring principles. An aspect of an object provides the possibility to determine sub-objects of the object in that aspect. Each sub-object may also be viewed in the same aspect, which results in lower-level sub-objects. The result is a successive subdivision of the objects viewed in a particular aspect. This subdivision may thus be represented as a tree. The same object may occur in several such structures, for example depending on its aspects. Specifically, IEC 81346-1 discusses function oriented, product oriented, and location oriented structures. Other structures based on other aspects may be used as required.
International patent application WO0102953 entitled “Method of integrating an application in a computerized system” discloses a method for integration of many and various types of applications in a computerized system for control of real world objects. The method disclosed in WO0102953 is based on a concept where real world objects are represented as “composite objects” (in the following referred to as “aspect objects”). Different facets of a real world object, such as its physical location, the current stage in a process, a control function, an operator interaction, a simulation model, some documentation about the object, etc., are each described as different aspects of the aspect object. The aspect object is a container for one or more such aspects. Thus, an aspect object is not an object in the traditional meaning of object-oriented systems, but rather a container of references to such traditional objects, which implement the different aspects. Each aspect, or group of aspects, may be implemented by an independent software application, which provides its functionality through a set of interfaces that are accessible through the aspect object. Each aspect object may be placed in one or more structures. WO0102953 thus describes how a control system can be implemented such that the system can be engineered and operated in accordance with the principles of IEC 81346-1.
One possible extension of the concepts defined in WO0102953 could be to add support for aspect object types. This could make it possible to create and efficiently re-use standardized solutions to frequently recurring problems. For example, rather than creating an Aspect Object from scratch for every valve in a plant, a set of valve types may be defined, and then all valve objects as instances of may be created using these types. Each instance of an aspect object type could then inherit the aspects that are defined by its type.
A further possible extension of the concepts described above could be to add support for object type specialization, i.e. allowing more specialized object types (sub-types) to inherit characteristics from a more general object type (super-type), and extend the functionality by appending one or more additional aspects or extending existing ones. For example, from a generic valve type that has a certain set of aspects, specializations for block valves, control valves, etc., may be created by adding aspects and aspect details that are specific to those types.
By creating object types for all common process devices, such as valves, pumps, motors, etc., with aspects for related control functions, such as open/close, start/stop, PID controller, etc., libraries may be built with aspect object types that may be instantiated to achieve the desired functionality for a wide group of control problems.
However, one issue with the approach described above is that with a wide variety of process devices and control functions, the number of possible combinations becomes very large. This in turn results in a very large number of aspect object types, many of which differ only in minor details, making such libraries expensive to develop and maintain, and difficult to comprehend and use.
U.S. Pat. No. 6,268,853 B1 discloses a development tool for use in specifying at least a sub-set of information required to generate control tools for an industrial process wherein the process is performed by mechanical resources, the control tools include execution logic, simulation facilitating tools, diagnostic tools, HMI tools and schematic diagrams, the development tool including a plurality of control assembles (CA), a separate CA for each mechanical resource type, which can be instantiated by selection and parameterization via an editor to specify the required information, after instantiation, the CAs compiled to generate the tools.
Hence, there is still a need for an improved creation of objects in a process control system.